#ifndef _Enumerations_H_
#define _Enumerations_H_

//
// Enumerations.h
//
// Created by TB on 11/17/11.
// Copyright 2011 BNL. All rights reserved.
//

enum HadronType{
   PIPLUS = 211, PIMINUS = -211, PIZERO = 111, KZERO = 311, KZEROBAR = -311,
   KPLUS = 321, KMINUS = -321, PROTON = 2212, PBAR = -2212, NEUTRON = 2112,
   NBAR = -2112, JPSI = 443, INVALID_HADRON = 0
};

enum FragFuncType{ NONE, DSS, KKP, AKK, DSSC };

enum FragFuncOrder{ LO, NLO };

enum PartonType{GLUON,UQUARK,UBAR,DQUARK,DBAR,SQUARK,SBAR,
   CQUARK,CBAR,BQUARK,BBAR,UNKNOWN};

enum MachineType{RHIC_200,RHIC_500,FNAL_E704_PROTON,FNAL_E704_PBAR};

enum GluonSiversType{NO_SIVERS,AS_UP_QUARK,POS_LIMIT,AS_UP_QUARK_POS_BND};

enum PythiaEventType{QCD2x2,GENJPSI};

// Define LHAPDF Flavour enums if not using LHAPDF code
//#ifndef LHAPDF_H
#ifndef USING_LHAPDF
namespace LHAPDF {
   
   /// @brief Enum of flavours which map to LHAPDF integer codes.
   /// Useful for improving readability of client code. Note that these codes
   /// can't be used to access elements of returned @c vector<double>, which
   /// don't use the LHAPDF scheme (they use "LHAPDF code + 6").
   enum Flavour {
      TBAR= -6, BBAR = -5, CBAR = -4, SBAR = -3, UBAR = -2, DBAR = -1,
      GLUON = 0,
      DOWN = 1, UP = 2, STRANGE = 3, CHARM = 4, BOTTOM = 5, TOP= 6,
      PHOTON = 7
   };
} // namespace LHAPDF
#endif

#endif
